using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Gko.Wpf.Mvvm.Interfaces
{
	public interface IViewModelService<TViewModelId> where TViewModelId : IEquatable<TViewModelId>
	{
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvideTypeParameter")]
		void RegisterViewModel<TViewModel>(TViewModelId viewModelId) where TViewModel : IViewModel;
		IViewModel CreateViewModel(TViewModelId viewModelId, params object[] arguments);
	}
}